home *** CD-ROM | disk | FTP | other *** search
- // Filename: USERCODE.WMC
- // "DOCTEMP" Generated by Visual Programmer.
- // Author: Blue Sky
-
- //
- // ***********************************************************************
- // Do not add code here. Add code in the .CPP file.
- //
- // This file is maintained by the Switch-It Module.
- // As you make changes in your applications design,
- // this file is automatically updated, therefore you never modify this file.
- //
- //
- //
- // For more information,
- // see the section "How code is generated" in the documentation.
- //
- // ***********************************************************************
- //
-
-
- // ----------------------------------------------------------------------------
- #ifndef WMCLASSONLY
- // ----------------------------------------------------------------------------
-
-
-
-
- // *************************************************************
- // Member Functions for Class: Cwm_MDICHILDBaseWnd
- // Base Class : CMDIChildWnd
- // *************************************************************
-
-
- CString Cwm_MDICHILDBaseWnd::ms_strWndClass; //Window Class Name
-
-
- IMPLEMENT_DYNCREATE(Cwm_MDICHILDBaseWnd, CMDIChildWnd)
-
- BEGIN_MESSAGE_MAP(Cwm_MDICHILDBaseWnd, CMDIChildWnd)
-
- ON_REGISTERED_MESSAGE(wPrivateMessage,SimHandlePrivateMessage)
- ON_WM_MDIACTIVATE()
- ON_WM_NCDESTROY()
-
- END_MESSAGE_MAP()
-
-
-
- Cwm_MDICHILDBaseWnd::Cwm_MDICHILDBaseWnd()
- : CMDIChildWnd()
- {
-
- ms_pToolbarTop= ms_pToolbarBottom=ms_pToolbarLeft=ms_pToolbarRight=NULL;
- ms_pWndClient = NULL;
-
-
- if (ms_strWndClass.IsEmpty())
- SimRegisterClass();
-
- }
-
-
-
- Cwm_MDICHILDBaseWnd::~Cwm_MDICHILDBaseWnd()
- {
- }
-
-
-
- BOOL Cwm_MDICHILDBaseWnd::SimRegisterClass()
- {
- WNDCLASS WndClass;
-
- WndClass.lpszClassName = "BLD_MDICHILD";
- WndClass.style = CS_DBLCLKS;
- WndClass.cbClsExtra = 0;
- WndClass.cbWndExtra = 0;
- WndClass.hInstance = AfxGetInstanceHandle();
- WndClass.hIcon = LoadIcon(AfxGetResourceHandle(),"MOBIUS");
- WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
- WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- WndClass.lpszMenuName = NULL;
-
- if (!ms_strWndClass.IsEmpty())
- return TRUE; // Already registered
-
- ms_strWndClass = AfxRegisterWndClass(WndClass.style,
- WndClass.hCursor, WndClass.hbrBackground, WndClass.hIcon);
-
- if (ms_strWndClass.IsEmpty())
- return FALSE;
- else
- return TRUE;
- }
-
-
-
- BOOL Cwm_MDICHILDBaseWnd::SimInitWindow(CWnd *pAParent)
- {
- CREATESTRUCT sCr;
- RECT r;
-
- pAParent = TheApp.m_pMainWnd; //Parent must be the main window
- if (ms_strWndClass.IsEmpty())
- return FALSE;
-
- sCr.lpCreateParams = NULL;
- sCr.hInstance = AfxGetInstanceHandle();
- sCr.dwExStyle = 0;
- sCr.lpszClass = ms_strWndClass;
- sCr.lpszName = "MDICHILD";
- sCr.style = WS_CHILD | WS_CAPTION | WS_THICKFRAME | WS_CLIPSIBLINGS | WS_SYSMENU;
- sCr.hwndParent = pAParent ? pAParent->GetSafeHwnd() : (HWND)NULL;
- sCr.x = CW_USEDEFAULT;
- sCr.y = 0;
- sCr.cx = CW_USEDEFAULT;
- sCr.cy = 0;
- sCr.hMenu = NULL;
- ms_hSubMenu = 0;
-
- r.left = sCr.x;
- r.top = sCr.y;
- if (sCr.cx==CW_USEDEFAULT)
- {
- r.right = CW_USEDEFAULT;
- r.bottom = 0;
- }
- else
- {
- r.right = sCr.cx+sCr.x;
- r.bottom = sCr.cy+sCr.y;
- }
-
- if (!Create(ms_strWndClass,sCr.lpszName,
- sCr.style | WS_VISIBLE,
- r,NULL,NULL))
- {
- BLDDisplayMessage(::GetActiveWindow(),BLD_CannotCreateWindow,"MDICHILD",
- MB_OK | MB_ICONASTERISK);
- return FALSE;
- }
- return TRUE;
- }
-
-
- // PreCreateWindow - overridden for window to get correct properties
- BOOL Cwm_MDICHILDBaseWnd::PreCreateWindow(CREATESTRUCT& sCr)
- {
- if (!sCr.lpszClass&&bPreCreateCheck)
- {
- sCr.dwExStyle = 0;
- sCr.lpszClass = ms_strWndClass;
- sCr.lpszName = "MDICHILD";
- sCr.style = WS_CHILD | WS_CAPTION | WS_THICKFRAME | WS_CLIPSIBLINGS | WS_SYSMENU;
-
- ms_hSubMenu = 0;
- }
- return CMDIChildWnd::PreCreateWindow(sCr);
- }
-
-
- //When MDI child window gets focus, this function tells MDI frame window
- //to return specific submenu from GetWindowMenuPopup instead of MFC default
- void Cwm_MDICHILDBaseWnd::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd,
- CWnd* pDeactivateWnd)
- {
- if(bActivate)
- {
- if(ms_hSubMenu)
- {
- Cwm_MainWnd *pCwm_MainWnd = (Cwm_MainWnd *)TheApp.m_pMainWnd;
- pCwm_MainWnd->Cwm_SetWindowMenuPopup(ms_hSubMenu);
- }
- if(!m_hMenuShared)
- {
- CMDIFrameWnd* pFrame = GetMDIFrame();
- #ifdef WIN32
- ::SendMessage(pFrame->m_hWndMDIClient, WM_MDISETMENU,
- (WPARAM)pFrame->m_hMenuDefault,(LPARAM)pFrame->GetWindowMenuPopup(pFrame->m_hMenuDefault));
- #else
- ::SendMessage(pFrame->m_hWndMDIClient, WM_MDISETMENU, 0,
- MAKELONG(pFrame->m_hMenuDefault, pFrame->GetWindowMenuPopup(pFrame->m_hMenuDefault)));
- #endif
- pFrame->SendMessage(wPrivateMessage,SIM_RELOADACCELERATORS,(LONG)0);
- pFrame->DrawMenuBar();
- return; //override MFC default
- }
- else
- {
- BLDLoadAccelerators(GetMDIFrame(),IDR_SIMPLE);
- }
- }
- else
- {
- CMDIFrameWnd* pFrame = GetMDIFrame();
- #ifdef WIN32
- ::SendMessage(pFrame->m_hWndMDIClient,WM_MDISETMENU,
- (WPARAM)pFrame->m_hMenuDefault,(LPARAM)pFrame->GetWindowMenuPopup(pFrame->m_hMenuDefault));
- #else
- ::SendMessage(pFrame->m_hWndMDIClient, WM_MDISETMENU, 0,
- MAKELONG(pFrame->m_hMenuDefault, pFrame->GetWindowMenuPopup(pFrame->m_hMenuDefault)));
- #endif
- pFrame->SendMessage(wPrivateMessage,SIM_RELOADACCELERATORS,(LONG)0);
- pFrame->DrawMenuBar();
- return; //override MFC default
- }
- CMDIChildWnd::OnMDIActivate(bActivate,pActivateWnd,pDeactivateWnd);
- }
-
-
-
- void Cwm_MDICHILDBaseWnd::OnNcDestroy()
- {
- if(m_hMenuShared)
- ::DestroyMenu(m_hMenuShared);
- CMDIChildWnd::OnNcDestroy();
- }
-
-
-
- LRESULT Cwm_MDICHILDBaseWnd::SimHandlePrivateMessage(WPARAM wParam,LPARAM lParam)
- {
- LPBLDSetChildDialog lpSetChildDialog;
- switch(wParam)
- {
- case SIM_GETCHILDDIALOG:
- switch(LOWORD(lParam))
- {
- case 0: //Client area controls
- return (LRESULT)(LPSTR)(CSimClientDlg*)ms_pWndClient;
- case CBRS_RIGHT:
- return (LRESULT)(LPSTR)(CSimToolbar*)ms_pToolbarRight;
- case CBRS_LEFT:
- return (LRESULT)(LPSTR)(CSimToolbar*)ms_pToolbarLeft;
- case CBRS_BOTTOM:
- return (LRESULT)(LPSTR)(CSimToolbar*)ms_pToolbarBottom;
- case CBRS_TOP:
- return (LRESULT)(LPSTR)(CSimToolbar*)ms_pToolbarTop;
- }
- break;
- case SIM_SETCHILDDIALOG:
- lpSetChildDialog = (LPBLDSetChildDialog)lParam;
- switch(lpSetChildDialog->nStyle)
- {
- case 0: //Client area controls
- ms_pWndClient = (CSimClientDlg*)lpSetChildDialog->pWnd;
- break;
- case CBRS_RIGHT:
- ms_pToolbarRight = (CSimToolbar*)lpSetChildDialog->pWnd;
- break;
- case CBRS_LEFT:
- ms_pToolbarLeft = (CSimToolbar*)lpSetChildDialog->pWnd;
- break;
- case CBRS_BOTTOM:
- ms_pToolbarBottom = (CSimToolbar*)lpSetChildDialog->pWnd;
- break;
- case CBRS_TOP:
- ms_pToolbarTop = (CSimToolbar*)lpSetChildDialog->pWnd;
- break;
- }
- break;
- case SIM_RELOADACCELERATORS:
- break;
- case SIM_LOADACCELTABLE:
- if(m_hAccelTable)
- m_hAccelTable=0;
- if(lParam)
- LoadAccelTable(MAKEINTRESOURCE((int)lParam));
- break;
- }
- return 0;
- }
-
-
- // ----------------------------------------------------------------------------
- #endif //WMCLASSONLY
- // ----------------------------------------------------------------------------
-
-